1. Technology Field
The present invention relates to a data accessing method, and a controller and a storage system using the same. More particularly, the present invention relates to a data accessing method for a flash memory, and a controller and a storage system using the same.
2. Description of Related Art
Recently, with quick development of digital cameras, mobile phones with a camera function, MP3 and MP4, demanding of storage media by consumer is increased greatly. As to all the storage medias, since a flash memory has the advantages of non-volatile, energy saving, small size and none mechanical structure, etc., it is suitable for the aforementioned portable multimedia devices. Particularly, a solid state drive (SSD) applying the flash memory as a storage media thereof may effectively reduce a size of a laptop computer. Therefore, the flash drive industry becomes a hot industry within the electronics industry recently.
Generally, a mapping table recording a mapping relation of logical blocks and physical blocks is stored in a storage system of the flash memory. When a host is about to access an address of a certain logical block (such as a page address), the storage system may write data into an address of a corresponding physical block or read data from the address of the corresponding physical block according to the mapping table. However, with increasingly sophisticated fabrication processes, minor noises generated during transmission of signal commands may influence content of data or commands, and accordingly errors of data accessing may be occurred. In a conventional technique, an error correcting code (ECC) is generally used for correcting the error of the accessed data. However, as to a transmitted command, there is no mechanism that may ensure correctness thereof. For example, when a storage system transmits a read command to access a physical address 1 corresponding to a logical address 1 to be read by the host, such read command may be misjudged to be a read command that requires to read a physical address 2 due to noises occurred during transmission thereof, and data of the physical address 2 may be accordingly transmitted to the host. In such case, though correctness of the transmitted data is verified via the ECC mechanism, and is transmitted to the host, since the read address is misjudged, the host does not receive a correct data to be read. In other words, under the conventional technique, the storage system cannot ensure whether or not a read address is the address to be read by the host, and therefore correctness of the read data cannot be ensured. Particularly, as to the SSD requiring high data reliability and data correctness, solving the aforementioned problem is very important.